草庐IT

Safari 技术

全部标签

javascript - 使用 iframe 和 ontouchstart 的 Mobile Safari 中的文本选择错误

在我的网络应用程序中,我有不同z索引的iframe。我正在检测iframe中某些元素的touchstart事件。但是,如果我有一个文本输入字段与捕获touchstart的元素重叠,则输入字段开始表现不正常:在该字段中再次点击会使它失去焦点,您无法选择任何文本,但是您可以在文本字段中输入。似乎唯一的解决方案可能是停止捕获背景框架上的touchstart事件。我更喜欢像透明div这样的解决方案来作为中介捕获事件,但我还没有得到它的工作。还有其他解决方法吗?示例页面位于jsfiddle,但这是代码:iframe{position:absolute;}#background{border:so

用于指示失败的 JavaScript 反静默技术

当确实发生错误并且函数无法继续执行时,在JavaScript中报告错误而不是依赖null和undefined的好方法是什么?我可以想到三种方法:什么都不做抛出异常断言这是一个简单的示例场景-一个将传入的金额存入用户帐户的函数。credit函数是Account对象的一部分。这是天真的解决方案。functioncredit(amount){this.balance+=amount;}这种方法的一个主要问题是无效数据。让我们修复它,并使用返回值来指示操作失败。functioncredit(amount){if(!isInt(amount)){returnfalse;}this.balance

javascript - Facebook FB.login 在 Safari 中有效,但在移动版 Safari 中无效

以下FB.Login函数在桌面版Chrome、FF和Safari中运行良好。但在移动版Safari中(在iPhone4S上测试过),它会挂起并且不会返回到FB.login回调。当我使用Safari并将用户代理设置为“SafariiOS4.3.3-iPhone”时,我也可以在控制台中看到这一点。是因为移动版Safari阻止了弹出窗口吗?(FB.login触发弹出对话框)。我该如何解决这个问题?谢谢。functionLogin(returnLink){FB.login(function(response){if(response.status==='connected'){console.

javascript - 将 Safari javascript 控制台保存到文件?

是否可以将SafariWebInspector中的javascript控制台保存到文件中?我找不到任何方法来做到这一点,选择全部的唯一方法是用光标拖动(当我有很长的连续日志输出流时非常困难)。 最佳答案 我想通了:在按住SHIFT的同时,选择所需部分的开头。然后释放SHIFT并使用滚动条向下滚动。再次按住Shift并单击选择的末尾。然后您可以根据需要复制/粘贴。 关于javascript-将Safarijavascript控制台保存到文件?,我们在StackOverflow上找到一个类似

javascript - 这种调整谷歌浏览器新标签使用的图像比例的技术是什么?

我在GoogleChromeBeta版的新标签页中看到这段代码,如果已安装标签页,它会显示图标。他们正在使用任何技术来调整图像的大小。这是一个图标的html它是相关类的css.app-img-container{margin-left:auto;margin-right:auto;-webkit-mask-size:100%100%;}.app-img-container>*{height:100%;width:100%;}谁能告诉我他们使用的是哪种方法?它是基于Javascript的吗?要检查这一点,您可以安装GoogleChromeBeta并从chrome商店安装一些应用程序,然后

javascript - 用什么代替 Safari 的 FileReader?

(我是网络编程的新手,对于缺乏基本知识深表歉意。)我的页面允许用户选择一个文件,然后在客户端读取该文件并显示在页面的文本框中。我发现最简单的方法是使用FileReader对象,它在Firefox和Chrome中运行良好。这在Safari中不起作用(目前),那么我应该怎么做呢?//Whentheeventlistenerdetectsachangeintheinputfile...varfile=evt.target.files[0]varreader=newFileReader();reader.onload=function(e){document.getElementById('d

javascript - 使用javascript防止safari进入休眠状态

我正在实现一个javascript计时器,该计时器在iframe中加载,并且该计时器还会以特定的时间间隔播放一些音频文件,基本上它用于日常练习,所以说第一个练习持续10秒,然后第二个练习持续一分钟第三个持续2分钟,依此类推。当一个练习的时间结束并且下一个练习出现时,我会更改该特定练习的音频等等。我想要的是防止浏览器在手机(android、iOS)、笔记本电脑等各种模式下休眠,直到计时器运行为止。我已经为ios使用了2种解决方案,我正在使用它来重新加载页面,对于其他人,无论是android还是笔记本电脑,我都在尝试视频,如here.我最后检查的代码是varua={Android:/And

javascript - ReferenceError : Can't find variable: Set (react. js 只有在 safari 中才会出现这个错误)

ReferenceError:Can'tfindvariable:Set(react.jsOnlyinsafarithiserroriscoming)在所有其他浏览器上它的工作完美但在safari中抛出这个错误显示main.js中的错误,当我通过react构建时运行这个命令(npm运行构建) 最佳答案 您应该考虑在您的捆绑应用程序中包含一个全局polyfill,例如core-js或babel-polyfill.运行npminstallcore-js或yarnaddcore-js并导入您所需的特定功能,如下所示:import'core

javascript - 在 Safari 扩展中使用 jQuery

我正在尝试制作一个简单的Safari5扩展,它只注入(inject)一个自定义javascript。请问有什么想法可以在此自定义脚本中使用jQuery吗?我只知道这是可能的,因为其中一个WWDC视频中提到了它,但我不知道该怎么做。谢谢 最佳答案 您可以将jquery.js作为“启动脚本”包含在内。您的常规脚本(作为“结束脚本”)会看到它。 关于javascript-在Safari扩展中使用jQuery,我们在StackOverflow上找到一个类似的问题: h

javascript - 网页在 Safari 中触发 EXC_BAD_ACCESS/KERN_INVALID_ADDRESS 崩溃

我有一个Web应用程序在Safari中触发了一个似乎是iOS8错误的问题,我正在寻找有关触发它的原因以及如何解决它的线索。该漏洞的特征是,当用户在Safari中浏览了足够长的时间后,页面顶部出现“此网页出现问题,因此已重新加载”。看起来有些东西在幕后崩溃了,而Safari只是在优雅地恢复方面做得非常好。阅读崩溃日志揭示了这一点:ExceptionType:EXC_BAD_ACCESS(SIGSEGV)ExceptionSubtype:KERN_INVALID_ADDRESSat0x00000000TriggeredbyThread:0Thread0name:Dispatchqueue: